﻿using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;

namespace SistemaAdministracion.Models.BaseClass
{
    [Table("fichaempleado",Schema="personal")]
    public class FichaEmpleado
    {
        public FichaEmpleado()
        {
            this.DireccionEmpleado = new HashSet<DireccionEmpleado>();
            this.TelefonoEmpleado = new HashSet<TelefonoEmpleado>();
            this.CargaFamiliar = new HashSet<CargaFamiliar>();
        }

        [Column("idfichaempleado")]
        public int IdFichaEmpleado { get; set; }
        [Column("idempresa")]
        public int IdEmpresa { get; set; }
        [Column("idpersona")]
        public int IdPersona { get; set; }
        [Column("idcentrocosto")]
        public int IdCentroCosto { get; set; }
        [Column("idcargo")]
        public string Cargo { get; set; }
        [Column("tipocontrato")]
        public int Tipocontrato { get; set; }
        [Column("formapago")]
        public int FormaPago { get; set; }
        [Column("fechaingreso")]
        public DateTime FechaIngreso { get; set; }
        [Column("fechatermino")]
        public DateTime FechaTermino { get; set; }
        [Column("sueldobase")]
        public float SueldoBase { get; set; }
        [Column("banco")]
        public int Banco { get; set; }
        [Column("tipocuenta")]
        public int TipoCuenta { get; set; }
        [Column("nrocuenta")]
        public string NroCuenta { get; set; }
        [Column("idafp")]
        public int IdAFP { get; set; }
        [Column("idinstsalud")]
        public int IdInsSalud { get; set; }
        [Column("valorplansalud")]
        public float ValorPlanSalud { get; set; }
        [Column("tipocambio")]
        public int TipoCambio { get; set; }
        [Column("tipogratificacion")]
        public int TipoGratificacion { get; set; }
        [Column("montocolacion")]
        public float MontoColacion { get; set; }
        [Column("montomovilizacion")]
        public float MontoMovilizacion { get; set; }
        [Column("liquidoprotegido")]
        public float LiquidoProtegido { get; set; }
        [Column("semanacorrida")]
        public bool SemanaCorrida { get; set; }
        [Column("vigencia")]
        public int Vigencia { get; set; }


        public virtual AFP AFP { get; set; }

        public virtual InsSalud InsSalud { get; set; }

        public virtual Persona Persona { get; set; }

        public virtual Empresa Empresa { get; set; }

        public virtual CentroCosto CentroCosto { get; set; }

        public virtual ICollection<TelefonoEmpleado> TelefonoEmpleado { get; set; }
        public virtual ICollection<DireccionEmpleado> DireccionEmpleado { get; set; }
        public virtual ICollection<CargaFamiliar> CargaFamiliar { get; set; }

    }
}
